home *** CD-ROM | disk | FTP | other *** search
/ Freelog 29 / Freelog029.iso / BestOf / Abuse / Abuse Setup.exe / data1.cab / Program_Executables / What's New.txt < prev   
Text File  |  2001-02-12  |  13KB  |  327 lines

  1. February 04, 2001
  2. -----------------
  3.     - Finally got alt-tabbing to behave nicely.  Still minor
  4.         issues with the main menu, but it's at least much
  5.         better than it was.
  6.  
  7. January 28, 2001
  8. ----------------
  9.     - There's now only one place where a window_manager
  10.         is instantiated.  There are no functions which
  11.         take a window_manager parameter anymore.
  12.     - Well, in the process of adding changes necessary to
  13.         handle recovery from alt-tabbing away from Abuse
  14.         (which is why I was updating jwindow::redraw()),
  15.         the entire windowing system is getting an overhaul.
  16.         It's gonna be sweet when I'm done, though.
  17.     - jwindow::redraw() has been changed to a virtual
  18.         function requiring no parameters.  This'll make
  19.         it much easier to implement special specific-
  20.         purpose windows.
  21.     - renamed wm[] array in dev.cpp to WinMenus so that it
  22.         doesn't have a name collision with the satic wm
  23.         singleton.
  24.     - Starting work on singleton code; will get rid of all
  25.         references to an arbitrary window_manager* because
  26.         there's only going to be one, and it's not ever
  27.         going to change.
  28.     - Got rid of X-ish "control is only active when mouse is
  29.         over it"  Now you've gotta click on a control to make
  30.         it take focus, and you can hit tab to move between
  31.         controls even when one isn't currently selected.
  32.     - Fixed right/down arrow display in selection boxes...
  33.         Finally.  That bug had been eluding me forever.
  34.         (Accidentally Lock()ed again at the end of drawing
  35.         instead of UnLock()ing ...  Oops)
  36.  
  37. January 27, 2001
  38. ----------------
  39.     - I think I've figured out why the automap is crashing the
  40.         engine sometimes.  When I'm done with other stuff, I'll
  41.         take a look at fixing it.
  42.     - Got fRaBs' uninstall working.  I guess "company name" is
  43.         required before the uninstaller can initialize.  Dumb
  44.         limitation, if you ask me...
  45.     - Moving username.lsp, gamename.lsp, and some other LISP
  46.         files out of /addon/deathmat into /config.  Adding
  47.         more saved configuration stuff as well.
  48.     - Added net_configuration::save() function
  49.     - Modifying deathmatch startup code to look for -a switch,
  50.         allowing addons to redefine deathmatch settings.
  51.     - Added net_configuration::load() function
  52.     - fixed info_field->find() function
  53.     - fixed button_box->press_button() function
  54.     - Also found the foretile corruption display in the editor.
  55.         Will take a look at it soon -- for now just close the
  56.         window and re-open it and it'll be okay.
  57.  
  58. File notes:
  59.     changed:
  60.         /
  61.             abuse.lsp
  62.         /lisp
  63.             people.lsp
  64.             startup.lsp
  65.         /addon/deathmat
  66.             deathmat.lsp
  67.             dstartup.lsp
  68.         /addon/fRaBs
  69.     !new->  netstart.lsp
  70.         /addon/fRaBs/lisp
  71.             startup.lsp
  72.         /addon/fRaBs/deathmat
  73.             deathmat.lsp
  74.             dstartup.lsp
  75.  
  76.  
  77. January 24, 2001
  78. ----------------
  79.     - Engine now deletes lcachexx.tmp on exit, and doesn't
  80.         ever create end.mem in the release build.
  81.     - Working on Shareware/Retail/fRaBs InstallShield packages.
  82.         Can't get fRaBs' uninstall to start correctly...
  83.  
  84. January 23, 2001
  85. ----------------
  86.     - Finally fixed the sound so that Abuse doesn't crash when
  87.         it can't find a sound card...
  88.     - Fixed game_getter() so that lbreak() works.
  89.     - Removed *all* exit() calls and replaced with WriteErr().
  90.         Abuse should *never* shut down without giving a reason
  91.         anymore.  If it does, I've got an error somewhere that
  92.         isn't being taken into account.
  93.     - Fixed fRaBs so that it'll work within /addon/fRaBs with
  94.         the -a switch.  Now I just need to tell Justin how he
  95.         needs to do things from now on...  ;)
  96.  
  97. January 19, 2001
  98. ----------------
  99.     - I actually added this a while ago, but for anyone who's
  100.         interested, the GUID I'm using to create DirectPlay
  101.         sessions is:
  102.         {7FAABB28-D1AB-4b3b-957C-58A124E03542}
  103.         Not that anyone'll probably need this, but who knows?
  104.     - Added -module switch for specifying "add-on modules,"
  105.         which will be a more complete version of the -a switch.
  106.     - Tweaked with the re-worked DPlay stuff and it's much
  107.         better now.  Still works, and is far prettier.
  108.  
  109. January 18, 2001
  110. ----------------
  111.     - The entire Abuse engine now runs inside its own thread,
  112.         allowing WinMain() to do event processing --
  113.         Now alt-tab should *always* work, even in game loops
  114.         where it previously wasn't polling for Windows events.
  115.     - Re-worked some DirectPlay stuff to allow it to start
  116.         a new network game after it's done with another...
  117.         Not the best solution, but it works.
  118.     - DirectInput routines now run inside their own thread,
  119.         as part of an effort to make the entire engine multi-
  120.         threaded.  Currently working on moving Get/Translate/
  121.         DispatchMessage() out of the event handling code and
  122.         back into WinMain() where they belong.
  123.     - also had an idea to improve mouse wheel weapon switching
  124.         that works great except for one tiny problem.  I
  125.         doubt if anyone'll encounter this problem, tho'.  If
  126.         you find it, and it's a major problem, let me know
  127.         and I'll see if I can get to the bottom of it.
  128.     - worked on the lighting altorithm.  Got a 100% speedup
  129.         in one of the inner loops, according to the profiler.
  130.         Lighting now takes about 10% less processor time when
  131.         using hw acceleration.
  132.  
  133.         Could still be sped up, though.  The 32-bit reads
  134.         are faster (and fewer), but they're still not
  135.         guaranteed to be on a DWORD boundary, so there's
  136.         still a potential performance hit.  I also need
  137.         to re-work the lighting table's functionality to
  138.         get rid of another good portion of the 8-bit
  139.         operations.
  140.  
  141. January 17, 2001
  142. ----------------
  143.     - fixed blinking player location dot not displaying in
  144.         automap.
  145.     - finally completely fixed the far right/bottom lines not
  146.         being drawn problem.  Really bizarre solution -- I'm
  147.         not entirely convinced that the problem doesn't lie
  148.         elsewhere -- but it's fixed.
  149.     - weaning functions from image::width() to use
  150.         image::Pitch instead...  DirectDraw aligns all scan
  151.         lines on DWORD boundaries, so width() doesn't
  152.         necessarily equal bytes/scan line.
  153.     - Right now I'm having a problem with system vs. local
  154.         video memory...  If I create any of my surfaces in
  155.         system memory, the hardware acceleration takes a
  156.         serious hit on non-AGP systems.  If I create surfaces
  157.         (one in particular representing the offscreen buffer)
  158.         in local video memory, any software rendering routines
  159.         (especially lighting) take serious performance hits.
  160.  
  161.         Hardware acceleration blazes through all of Abuse's
  162.         drawing routines.  I can get upwards of 120 fps on my
  163.         computers with delays turned off ...  But more than 50%
  164.         of all processing time is spent in the lighting routine.
  165.         When using system memory, lighting takes about 15% of
  166.         the processing time...
  167.         
  168.         Methinks I'll have to do some work on the lighting
  169.         algorithm to make it more 32-bit friendly...
  170.  
  171. January 10, 2001
  172. ----------------
  173.     - fixed bug that made Abuse think that keys were being
  174.         pressed when they were released, and vice-versa.  It was
  175.         only by an incredible coincidence that the DirectInput
  176.         code was working at all before this.  Now everything
  177.         (should) work.
  178.  
  179. January 08, 2001
  180. ----------------
  181.  
  182. Code Notes:
  183.     - changing file_manager::remote_file::unbuffered_read() so
  184.         that it won't overrun the read buffer anymore -- ever.
  185.     - trying to find a bug that's preventing files larger than
  186.         8k from transferring over the network correctly
  187.         (only a problem in the debug executable ... for now.
  188.         has potential to make things really bad later on.)
  189.  
  190.  
  191. January 07, 2001
  192. ----------------
  193.     - Added automap, though it's crashed a test machine twice,
  194.         so I removed it again.
  195.     - Built InstallShield package for shareware install
  196.     - Added mouse wheel support for changing weapons (not
  197.         perfect yet)
  198.     - Other stuff, though I've forgotten what.
  199.  
  200. January 06, 2001
  201. ----------------
  202.     - DirectInput for mouse works.  Mouse sensitivity can be
  203.         changed, but needs a user interface still.
  204.     - Modified do_title() routine to no longer be hard-coded
  205.         for the original "intro" string ...  Any string should
  206.         now be shown in its entirety.  Mouse button click will
  207.         also exit the title screen.
  208.     - Started looking at LISP processing code to see about
  209.         adding functions that'll allow LISP scripts to do
  210.         intro/title-type stuff.  (Draw pictures, show
  211.         scrolling text, etc.)
  212.     - Fixed editor map mode ... again.  Forgot that I'd lost that
  213.         fix when I had a mini HD crash.
  214.     - Framerate is no longer "game tick" based.  The game tick
  215.         runs at a fixed rate of 15Hz, and all game objects run
  216.         at this rate.  This made the mouse move kinda choppy,
  217.         (as Bill pointed out) even if your computer is capable
  218.         of framerates much higher.  Screen is now updated as
  219.         fast as possible, and game ticks still happen at 15Hz.
  220.         Interesting note, though: all I've got to do to increase
  221.         or decrease the speed of the game is to change a
  222.         floating-point value to something other than 15 ...
  223.         Throw a user interface in for it, and "Turbo-mode Abuse,
  224.         anyone?"
  225.  
  226. It's amazing how much I've been able to tinker with now that the
  227. DirectPlay code is more or less done...  It's also amazing how
  228. much of this engine's capabilities went unused by the original
  229. Abuse...
  230.  
  231.  
  232. January 05, 2001
  233. ----------------
  234.     - Now using DirectInput for keyboard input.  Faster, better.
  235.         Doesn't rely on Windows messaging.  No more accidentally
  236.         hitting the Windows key when reaching for Ctrl, Josh...
  237.     - Working on DirectInput for mouse input.  Will be faster,
  238.         better.  Will support changing sensitivity and more
  239.         buttons.  (5-button/wheel mouses will be more useful
  240.         in Abuse, eventually...)
  241.  
  242.  
  243. January 04, 2001
  244. ----------------
  245.     - Sound should never crash the Sound Server anymore (thus
  246.         crashing Abuse)
  247.     - Creating DirectPlay sessions with a much higher player limit
  248.         to allow for more simultaneous "virtual connections" that
  249.         I make with each client.  Fixes "Can't create player"
  250.         errors.
  251.  
  252. January 03, 2001
  253. ----------------
  254.     - My name's in the startup console view now...  :)
  255.     - Adding console view; throwing out text stat_man entirely
  256.     - preload.lsp now required.  This file contains startup
  257.         configuration for game fonts, palette, and window
  258.         stuff.
  259.  
  260.  
  261. Code Notes:
  262.     - event_handler (eh) is now created only once immediately
  263.         after the video mode is initialized.  Same with the
  264.         status_manager (stat_man).  They're both destroyed
  265.         when the program exits.
  266.     - fixed up WriteErr macro
  267.     - moving exit(x)'s into WriteErr, which shuts down DirectDraw
  268.         and shows a message box describing the error.
  269.     - changed sprite::change_visual() to copy the image and then
  270.         unlink it.  jwindow::jwindow unlinks its screen.  Did this
  271.         to keep them from getting destroyed when lisp is reloaded.
  272.     - modified NF_set_file_server(net_address *addr) to use dprintf
  273.         for console reporting.
  274.     - moving most printf's and fprintf's into dprintf to give the
  275.         Windows port a form of output for users to see as progress
  276.         indication and/or error messages.
  277.  
  278. January 01, 2001
  279. ----------------
  280.     - Networking supports more than 2 players
  281.  
  282. December 26, 2000
  283. -----------------
  284.     - Networking is much better now.
  285.  
  286. December 24, 2000
  287. -----------------
  288.     - Fixed extra line of garbage being drawn on display (really!)
  289.     - Networking works
  290.  
  291. December 9, 2000
  292. ----------------
  293.     - Fixed map display problem
  294.     - Added experimental logic to the sound server ...  It now 
  295.         tries to keep the number of playing sounds managed, so
  296.         hopefully it'll sound better.
  297.     - I've set the sound to play at 44.1 khz, 16-bit which helps 
  298.         a lot even without sound management.  Eventually this'll
  299.         be user-configurable, but for now it's hard-coded.
  300.     - And yet another improvement in the sound department -- it's
  301.         now in *stereo*!  If something's on your left, you'll hear
  302.         it from the left speaker, and vice versa.  This took me
  303.         *exactly* one line of code to implement.  The framework
  304.         already had support for panning, it just wasn't used for
  305.         some reason.
  306.     - Command line switches work now.  Try -size (and give it a
  307.         usable resolution, because it does no checking and will
  308.         just die if it can't switch modes)...  All other switches
  309.         should work, too.  Let me know if any don't.
  310.     - Fixed minor graphical glitch that made garbage show on the
  311.         far-right column and bottom scan line of the monitor.
  312.         (I think.)
  313.     - Threw out all of my old DirectPlay code and am starting
  314.         over.  I've got a better idea of what it needs to do now,
  315.         so I should be able to get a slightly more elegant
  316.         solution in place than the one I was working on before.
  317.         (also began reading up on Winsock 2 APIs, for possibility
  318.         of supporting non-Windows players)
  319.  
  320. Known Bugs:
  321.     - Once, when I was playing around with the editor, the
  322.         foreground tile window filled itself with garbage.  I
  323.         closed it and re-opened it and it was fine.  I couldn't
  324.         reproduce it again.
  325.     - Also, once, the debugger found some bad memory allocations
  326.         in weird places, but it didn't affect the game, and I
  327.         can't get it to do it again.